
// pages/index/index.js
Page({
  data: {
    userInput: '',
    responseText: ''
  },

  // 处理输入框内容变化
  handleInputChange: function (e) {
    this.setData({
      userInput: e.detail.value
    });
  },

  // 获取 OpenAI 响应
  getOpenAIResponse: function () {
    const that = this;
    const apiKey = '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';  // 替换为你的 OpenAI API 密钥

    if (!this.data.userInput) {
      wx.showToast({
        title: '请输入问题',
        icon: 'none'
      });
      return;
    }

    wx.request({
      url: 'https://api.openai.com/v1/chat/completions',  // OpenAI GPT-3 API endpoint
      method: 'POST',
      header: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${apiKey}`  // 使用你的 API 密钥
      },
      data: {
        model: 'text-davinci-003',  // 选择模型，可以替换为其他模型如 GPT-4
        prompt: this.data.userInput, // 发送用户输入的文本
        max_tokens: 150,  // 设置最大生成 token 数量
        temperature: 0.7   // 设置温度，值越大越随机
      },
      success: function (res) {
        if (res.statusCode === 200 && res.data.choices && res.data.choices[0].text) {
          that.setData({
            responseText: res.data.choices[0].text.trim()  // 获取并显示 GPT-3 生成的文本
          });
        } else {
          wx.showToast({
            title: '请求失败',
            icon: 'none'
          });
        }
      },
      fail: function () {
        wx.showToast({
          title: '网络请求失败',
          icon: 'none'
        });
      }
    });
  }
});
